// // vite.config.js  
// import { defineConfig } from 'vite';  
// import uni from '@dcloudio/vite-plugin-uni';  

// /** ==== 处理 tailwind cli 的自动启动和打包 ==== */  
// const child_process = require('child_process')  
// let tailwindMode = process.env.NODE_ENV  

// // 主进程输出  
// console.log(`[tailwindcss] 开始${tailwindMode == 'production' ? '生产环境打包' : '开发模式监听'}`);  
// child_process.exec(  
//     // 这里指令对应 package.json 中的 npm scripts  
//     tailwindMode == 'production'  
//         ? 'npm run tailwind-build'  
//         : 'npm run tailwind-dev',  
//     {  
//         cwd: __dirname, // 切换目录到当前项目，必须  
//     },  
//     (error, stdout, stderr) => {  
//         // tailwind --watch 是一个持久进程，不会立即执行回调  
//         // process.stdout.write('tailwind success')  
//         if (error) {  
//             console.error('[tailwindcss] 异常，请检查');  
//             console.error(error);  
//             console.error(stdout);  
//             console.error(stderr);  
//         }  
//         if(tailwindMode == 'production'){  
//             console.log('[tailwindcss] 生产环境打包完成');  
//         }  
//     })  

// export default defineConfig({  
//     plugins: [uni()],  
// });
import path from "path";
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { UnifiedViteWeappTailwindcssPlugin as uvwt } from "weapp-tailwindcss/vite";
// 注意： 打包成 h5 和 app 都不需要开启插件配置
const isH5 = process.env.UNI_PLATFORM === "h5";
const isApp = process.env.UNI_PLATFORM === "app";
const WeappTailwindcssDisabled = isH5 || isApp;
// vite 插件配置
const vitePlugins = [uni(), uvwt({
  disabled: WeappTailwindcssDisabled
})];

const resolve = (p) => {
  return path.resolve(__dirname, p);
};

const postcssPlugins = [
  require("autoprefixer")(),
  require("tailwindcss")({
    config: resolve("./tailwind.config.js"),
  }),
];
if (!WeappTailwindcssDisabled) {
  postcssPlugins.push(
    require("postcss-rem-to-responsive-pixel")({
      rootValue: 32,
      propList: ["*"],
      transformUnit: "rpx",
    })
  );
}
// https://vitejs.dev/config/
export default defineConfig({
  plugins: vitePlugins,
  // 假如 postcss.config.js 不起作用，请使用内联 postcss Latset
  css: {
    postcss: {
      plugins: postcssPlugins,
    },
  },
});
